|
Menüeintrag |
---|
Surface → Querschnitte |
Arbeitsbereich |
Surface |
Standardtastenkürzel |
Keiner |
Eingeführt in Version |
0.19 |
Siehe auch |
Keiner |
Surface Querschnitte wird verwendet, um eine Oberfläche über Kanten zu erstellen, die Querschnitte einer Fläche repräsentieren.
Links: Kontrollkanten (Querprofile). Rechts: Oberfläche, die aus diesen Kanten entsteht.
A Surface Sections (Surface::Sections
class) is derived from the basic Part Feature (Part::Feature
class, through the Part::Spline
subclass), therefore it shares all the latter's properties.
Zusätzlich zu den in Part Formelement beschriebenen Eigenschaften, haben die Querschnitte im Eigenschaften Editor folgende Eigenschaften.
Querschnitte
LinkSubList
): a list of edges that will be used to build the surface.
Basis
Bool
): it defaults to false
; if set to true
, it will show an overlay with the control points of the surface.
The shape of the surface depends on the direction of the chosen edges; if edges are selected and the result is a surface that "twists" on itself, one of the edges may need its list of vertices in the reverse order. See the information in GeomFillSurface for a more complete explanation.
Siehe auch: Grundlagen der Skripterstellung in FreeCAD.
The Surface Sections tool can be used in macros and from the Python console by adding the Surface::Sections
object.
NSections
property of the object.import FreeCAD as App
import Draft
doc = App.newDocument()
pl1 = App.Placement()
obj1 = Draft.make_circle(50, placement=pl1, face=False, startangle=0, endangle=180)
pl2 = App.Placement(App.Vector(0, 0, 25), App.Rotation())
obj2 = Draft.make_circle(30, placement=pl2, face=False, startangle=0, endangle=180)
points3 = [App.Vector(18, -10, 50),
App.Vector(12, 10, 50),
App.Vector(-12, 10, 50),
App.Vector(-18, -10, 50)]
obj3 = Draft.make_bspline(points3)
points4 = [App.Vector(15, -20, 100),
App.Vector(0, 6, 100),
App.Vector(-15, -20, 100)]
obj4 = Draft.make_bspline(points4)
doc.recompute()
surf = doc.addObject("Surface::Sections", "Surface")
surf.NSections = [(obj1, "Edge1"),
(obj2, "Edge1"),
(obj3, "Edge1"),
(obj4, "Edge1")]
doc.recompute()